import { request } from "../request/index"
import { getStorage } from '../utils/util'
// 登录商城
export function userLogin(code) {
    const url = "/proxy/minastore/user/wxapp/login"
    const params = {
        code,	//微信获取到的临时凭证 code	
        autoReg: true,	//如未注册，是否自动注册新用户
        postJsonString: '',	//用户的扩展数据，必须是 json 格式
        referrer: '',	//邀请人用户id
        token: '',	//登录接口返回的token
    }
    return request(url, params, 'POST', false)
}

// 会员等级-校验token是否有效
export function userLevel() {
    const url = "/proxy/minastore/user/level/buyLogs"
    const params = {
        page: 1,//	获取第几页数据
        pageSize: 1,//	每页显示多少数据
        token: getStorage('storetoken'),//	登录接口返回的token
    }
    return request(url, params, 'POST', false)
}
// 获取轮播图列表
export function getBannerList() {
    const url = "/proxy/minastore/banner/list"
    return request(url)
}


// 获取分类列表
export function getCategoryList() {
    const url = "/proxy/minastore/shop/goods/category/all"
    return request(url)
}

// 获取商品数据
export function getCateGoodsList(params) {
    const url = "/proxy/minastore/shop/goods/list/v2"
    const apiParams = {
        page: 1,
        pageSize: 8,
        status:0,//-1 全部状态 0 上架 1 下架
        categoryId: '',//所属分类
        nameLike: '',//商品名称搜索
        recommendStatus: '',//推荐状态：0-一般商品；1-推荐商品
        ...params
    }
    return request(url, apiParams, 'POST')
}
// 获取商品详情数据
export function getCateGoodsDetail(id) {
    const url = "/proxy/minastore/shop/goods/detail"
    return request(url, { id }, 'GET')
}
// 检测商品是否已收藏
export function getGoodsFav(id) {
    const url = "/proxy/minastore/shop/goods/fav/check"
    const params = {
        type: 0,//	0 内部商品；1 外部商品
        goodsId: id,//	商品id
        token: getStorage('storetoken'),//	登录接口返回的token
    }
    return request(url, params, 'GET', false)
}
// 添加收藏
export function getAddFav(params) {
    const url = "/proxy/minastore/shop/goods/fav/add"
    const finalParams = {
        type: 0,//	0 内部商品；1 外部商品
        goodsId: '',//	商品id
        extJsonStr: "",//	扩展Json属性
        token: getStorage('storetoken'),//	登录接口返回的token
        ...params
    }
    return request(url, finalParams, 'POST', false)
}
// 取消收藏
export function getCancelFav(id) {
    const url = "/proxy/minastore/shop/goods/fav/delete"
    const params = {
        type: 0,//	0 内部商品；1 外部商品
        goodsId: id,//	商品id
        id: '',//收藏记录id
        token: getStorage('storetoken'),//	登录接口返回的token
    }
    return request(url, params, 'POST', false)
}

// 获取购物车数据
export function getCarData(loadType = true) {
    const url = "/proxy/minastore/shopping-cart/info"
    const params = {
        type: "",//	自定义购物车类型，可用来区分多个购物车
        token: getStorage('storetoken'),//	登录接口返回的token
    }
    return request(url, params, 'GET', loadType)
}

// 添加购物车
export function getAddCar(params, loadType = false) {
    const url = "/proxy/minastore/shopping-cart/add"
    const finalParams = {
        goodsId: "",
        number: 1,
        type: "",//	自定义购物车类型，可用来区分多个购物车
        sku: "",//商品附带信息,颜色，尺码等
        token: getStorage('storetoken'),//	登录接口返回的token
        ...params
    }
    return request(url, finalParams, 'POST', loadType)
}
// 获取所有省级
export function getProvList(loadType = false) {
    const url = "/proxy/common/region/v2/province"
    const params = {
        token: getStorage('storetoken'),//	登录接口返回的token
    }
    return request(url, params, 'GET', loadType)
}
// 获取所有对应下级地区
export function getNextAddList(id) {
    const url = "/proxy/common/region/v2/child"
    const params = {
        pid: id,
        token: getStorage('storetoken'),//	登录接口返回的token
    }
    return request(url, params, 'GET')
}
// 添加收货地址
export function addTakeAddress(params) {
    const url = "/proxy/minastore/user/shipping-address/add"
    const finalParams = {
        address: '',//	详细地址		true	
        provinceId: '',//	所属省份编码		true	
        cityId: '',//	所属城市编码		true	
        districtId: '',//	所属区县编码		false	
        linkMan: '',//	联系人		true	
        mobile: '',//	手机号码		true	
        idcard: '',//	身份证号码，国际件使用		false	
        isDefault: '',//	是否设置为默认收货地址，true 为设置；false 或者不传该参数为 不设置		false
        token: getStorage('storetoken'),//	登录接口返回的token	query	false
        code: '',//	邮编		false	
        longitude: '',//	坐标 经度		false	
        extJsonStr: '',//	扩展属性信息,JSON格式	
        status: '',//	状态：0 为正常 1 为停用		false	
        latitude: '',//	坐标 纬度	
        ...params,
    }
    return request(url, finalParams, 'POST')
}
// 获取默认收货地址
export function getDefAddress() {
    const url = "/proxy/minastore/user/shipping-address/default/v2"
    const finalParams = {
        token: getStorage('storetoken'),//	登录接口返回的token
    }
    return request(url, finalParams, 'GET')
}

// 获取收货地址列表
export function getAddressList() {
    const url = "/proxy/minastore/user/shipping-address/list/v2"
    const finalParams = {
        page: 1,
        pageSize: 100,
        token: getStorage('storetoken'),//	登录接口返回的token
    }
    return request(url, finalParams, 'POST')
}

// 修改收货地址
export function updateAddress(params) {
    const url = "/proxy/minastore/user/shipping-address/update"
    const finalParams = {
        id: '',//需要修改的记录id	
        address: '',//	详细地址		true	
        provinceId: '',//	所属省份编码		true	
        cityId: '',//	所属城市编码		true	
        districtId: '',//	所属区县编码		false	
        linkMan: '',//	联系人		true	
        mobile: '',//	手机号码		true	
        idcard: '',//	身份证号码，国际件使用		false	
        isDefault: '',//	是否设置为默认收货地址，true 为设置；false 或者不传该参数为 不设置		false
        token: getStorage('storetoken'),//	登录接口返回的token	query	false
        code: '',//	邮编		false	
        longitude: '',//	坐标 经度		false	
        extJsonStr: '',//	扩展属性信息,JSON格式	
        status: '',//	状态：0 为正常 1 为停用		false	
        latitude: '',//	坐标 纬度	
        ...params
    }
    return request(url, finalParams, 'POST')
}

// 删除收货地址
export function delAddress(id) {
    const url = "/proxy/minastore/user/shipping-address/delete"
    const finalParams = {
        id,//记录ID
        token: getStorage('storetoken'),//	登录接口返回的token
    }
    return request(url, finalParams, 'POST')
}


// 收货地址详情
export function detailAddress(id) {
    const url = "/proxy/minastore/user/shipping-address/detail/v2"
    const finalParams = {
        id,//记录ID
        token: getStorage('storetoken'),//	登录接口返回的token
    }
    return request(url, finalParams, 'GET')
}

// 修改购物车选中状态
export function resetCarCheck(params) {
    const url = "/proxy/minastore/shopping-cart/select"
    const finalParams = {
        key: "",//	购物车记录的key，多个key请用英文逗号分隔
        selected: "",//	是否选中 true/false	query
        type: "",//	自定义购物车类型，可用来区分多个购物车
        token: getStorage('storetoken'),//	登录接口返回的token
        ...params
    }
    return request(url, finalParams, 'POST')
}
// 删除购物车商品
export function delCarGoods(params) {
    const url = "/proxy/minastore/shopping-cart/remove"
    const finalParams = {
        key: "",//	购物车记录的key
        type: "",//	自定义购物车类型，可用来区分多个购物车
        token: getStorage('storetoken'),//	登录接口返回的token
        ...params
    }
    return request(url, finalParams, 'POST')
}
// 修改购物车某商品数量
export function carGoodsNumber(params) {
    const url = "/proxy/minastore/shopping-cart/modifyNumber"
    const finalParams = {
        key: "",//	购物车记录的key
        number: 1,//购买数量	
        type: "",//	自定义购物车类型，可用来区分多个购物车
        token: getStorage('storetoken'),//	登录接口返回的token
        ...params
    }
    return request(url, finalParams, 'POST')
}

// 搜索商品
export function getSearchGoods(params) {
    const url = "/proxy/minastore/shopping-cart/modifyNumber"
    const finalParams = {
        key: "",//	购物车记录的key
        number: 1,//购买数量	
        type: "",//	自定义购物车类型，可用来区分多个购物车
        token: getStorage('storetoken'),//	登录接口返回的token
        ...params
    }
    return request(url, finalParams, 'POST')
}